package de.tto.dating.validation;

import de.tto.dating.entities.User;
import de.tto.dating.entities.UserDAO;
import de.tto.dating.xml.StatusXML;

public class Validator {

	public boolean validateRegisterInput(User user, StatusXML xml) {

		if (user == null) {
			xml.setMain("Benutzer ist null");
			return false;
		}

		boolean valid = true;

		if (user.getEmail() == null || user.getEmail().isEmpty()) {
			xml.setEmail("E-Mail ist erforderlich");
			valid = false;
		} else {
			if (user.getEmail().length() > 50) {
				xml.setEmail("E-Mail ist zu lang! Maximal 50 Zeichen.");
				valid = false;
			} else {
				UserDAO userDao = new UserDAO();
				if (userDao.findUserByProperty(User.EMAIL, user.getEmail()) != null) {
					xml.setEmail("E-Mail ist bereits registriert!");
					valid = false;
				}
			}
		}

		if (user.getPassword() == null || user.getPassword().isEmpty()) {
			xml.setPassword("Password ist nicht eingegeben");
			valid = false;
		} else {
			if (user.getPassword().length() < 5) {
				xml.setPassword("Password ist zu kurz! Mindestens 5 Zeichen.");
				valid = false;
			}
			if (user.getPassword().length() > 20) {
				xml.setPassword("Password ist zu lang! Maximal 20 Zeichen.");
				valid = false;
			}
		}

		return valid;
	}

}
